home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 420_01 / beta.c < prev    next >
C/C++ Source or Header  |  1994-02-21  |  1KB  |  49 lines

  1. /*
  2. //    Beta.cc -- $@&B%U%)!<%^%C%H2hA|%U%!%$%k$r07$&(J
  3. //
  4. //        created    in 2/11/1994
  5. */
  6.  
  7. #include    <stdio.h>
  8. #include    <stdlib.h>
  9. #include    <ctype.h>
  10. #include    "defs.h"
  11. #include    "Beta.h"
  12.  
  13. void    BetaLoad()
  14. {
  15.     char    Buffer[32 + 4];
  16.     int     i;
  17.  
  18.     if ( fp == NULL && (fp = fopen( File, "rb" )) == NULL )
  19.     error ("%s: No such file");
  20.     fgets( Buffer, 32, fp );
  21.     if ( strcmp( Buffer, "beta\n" ) != 0 )
  22.     error ("%s: Is not beta format");
  23.     fgets( Buffer, 32, fp );
  24.     Width = atoi (Buffer);
  25.     for ( i = 0; isdigit (Buffer[i]); i++ );
  26.     Height = atoi (Buffer + i);
  27.     AllocateScreen();
  28.     fread( Screen, 1, Size, fp );
  29.     if ( fp != stdin )
  30.     fclose (fp);
  31. #ifdef    LITTLEENDIAN
  32.     ReverseByteOrder();
  33. #endif
  34.     MaxColorGuaranteed = 32768;
  35. }
  36.  
  37. void    BetaSave()
  38. {
  39.     if ( fp == NULL && (fp = fopen( File, "wb" )) == NULL )
  40.     error ("%s: Cannot create");
  41.     fprintf( fp, "beta\n%d %d\n", Width, Height );
  42. #ifdef    LITTLEENDIAN
  43.     ReverseByteOrder();
  44. #endif    
  45.     fwrite( Screen, 1, Size, fp );
  46.     if ( fp != stdout )
  47.     fclose (fp);
  48. }
  49.